For many years, users interacted with computing devices using just keyboards and displays—users input information, such as commands, to the devices via keyboards and the devices output information to users visually via the displays, largely in the form of text and limited graphics. The advent of the computing mouse enabled users to provide a different type of input to computers. Namely, the mouse allowed users to quickly and intuitively change a position of a pointer within a graphical user interface (GUI) and to ‘click’ buttons of the mouse once or in rapid succession to provide additional input relative to the pointer position. Many advances have been made in relation to providing input to computing devices. For instance, many computing devices are equipped to handle touch and stylus based input in addition to mouse inputs. Even with these advances, GUIs continue serve as one of the principle manners in which users interact with computing devices and applications, e.g., GUIs can be configured to support mouse input, touch input, stylus input, or some combination of these and other types of inputs.
Given this, graphical user interface development remains a significant part of producing computing applications, web pages, and so forth. To develop GUIs, many developers take inspiration from existing interfaces. In particular, many GUI developers take screenshots of existing interfaces (or at least portions), import the screenshots into GUI-development tools, and construct new user interfaces using the screenshots as templates. Conventional techniques for constructing new interfaces from screenshots can involve a GUI developer dragging a shape, such as rectangle, onto a screenshot and manually adjusting characteristics of the shape to match a corresponding shape of the screenshot. This manual shape choosing and adjusting can be tedious for developers, however. Consequently, conventional techniques can frustrate developers and consume their valuable time.